<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div></div>
    <div></div>
    <div></div>
    <script>
        // ES6新增 字符串和数组方法
        // 一、新增字符串方法
        // 1.repeat ：循环字符串 ,循环拼接操作
        // let str = "*";
        // let res =  str.repeat(5);
        // console.log(res);
        // 2.includes():查找字符串里是否包含某一个值 
        //     let str = "abcdefg";
        //    let res = str.includes("h");
        //    console.log(res);
        // 3. startWidth : 是否以某个字符作为开头 （可以通过正则判断"^"）
        // let str = "abcdefg";
        // let res = str.startsWith("b");
        // console.log(res);
        // 4.endsWidth：是否以某个字符作为结尾
        // let str = "abcdefg";
        // let res =  str.endsWith("f");
        // console.log(res);

        // 二、新增数组方法 
        // 1.Array.from：把伪数组转换成数组
        // let eles = document.getElementsByTagName("div");
        // // console.log(eles);
        // console.log( Array.from(eles));
        // 2.Array.of:创建数组

        //复习：数组创建
        // let arr = [1,2,3];
        // let arr = new Array(7); // 创建一个长度为7的空数组
        // console.log(arr);
        // let arr = new Array(7,5,3); //会创建一个值为 7,5,3的数组
        // console.log(arr);
        //  let arr =  Array.of(7) ; //创建一个值为7的数组
        //  console.log(arr);
        // let arr = Array.of(7,5,6);
        // console.log(arr);
        // 3.find：查找符合条件的元素
        // let arr = [1,2,3,4,5,6];
        // let res =  arr.find(item=>item>5); //需要获取到arr里值大于3的元素
        // console.log(res);
        // 4.findIndex ：找到符合条件的元素索引
        // let arr = ['张三','李四','王五'];
        // let res = arr.findIndex(item=>item=='王五');
        // console.log(res);
        // 5.includes :判断数组里是否包含某一个元素；
        // 6.flat：数组扁平化  : 只能扁平化一层

        // let arr = [1,2,3,[4,5]];  // 把二维数组转换成一维数组
        // let arr = [1,2,3,[4,[5,6]]];
        // let res =  arr.flat();
        // console.log(res);
        // 7.flatMap ：数组的扁平化 
        // flat map 先 map 然后再flat
        // let arr = [1,2,3,[4,5,[6,7]]];
        // console.log(arr.flatMap(item=>item))
        // let arr = [1,2,3,[4,5,[6,7]]];
        // let arr = ["张三","李四",'王武'];
        // arr.forEach(function(item){
        //     console.log(item);
        // })
        // 改箭头语法 ：1. 参数 如果是多个 小括号不能省略 
        // 2、看是否有返还值，如果有返还值 可以省略大括号
        // arr.forEach((item)=>{
        //     console.log(item)
        // })
        // ES5写法
        // map forEach some every .... 接受的都是不执行的函数
        // let res = arr.map(function(item){
        //     return item;
        // })
        // console.log(res);
        // ES6
        // let res = arr.map(item=>item);
        // console.log(res);
        // 不行 
        // (function(){

        // })()

        // flatMap:先map循环 ，然后在调用flat方法扁平化
        // let arr = [1, 2, 3, [4, 5, [6, 7]]];
        // arr.flatMap()
        // 1.做map循环
        // let newarr =   arr.map(function(item){
        //     return item;
        // })
        // // 2.把得到的结果 扁平化
        //  let res =   newarr.flat();
        // //  3.最终得到结果
        // console.log(res);
        // ES5写法
        // let res = arr.flatMap(function (item) {
        //     return item;
        // })
        // 箭头语法
        // let res = arr.flatMap( item=>item);

        // console.log(res);
        // 练习 ： every 改成箭头语法
            // let arr = [true,false,true];
            // let res =   arr.every(function(item){
            //     return item;
            // })
            // console.log(res);


            // 判断数组类型
            // Array.isArray() //1 、判断是否是数组
            // Object.prototype.toString.call(arr);
            // let arr = [1,2,3];
            // console.log(typeof arr);




    </script>
</body>

</html>